package jmine.tec.report.api;

/**
 * Interface definida por elementos de um relatório.
 * 
 * @author lundberg
 */
public interface ReportElement extends RendererTarget {

    /**
     * Retorna uma string que identifica o tipo de renderizador apropriado para este elemento.
     * 
     * @return string
     */
    String getRendererType();

    /**
     * Retorna o identificador do relatório, deve ser único dentro de um conjunto de relatórios que serão mostrados juntos
     * 
     * @return string
     */
    String getReportId();

    /**
     * Redefine o identificador do elemento do relatório. Utilizado para sobrescrever o ID definido originalmente, caso seja verificado que
     * este não é único.
     * 
     * @param id id
     */
    void setReportId(String id);
}
